home *** CD-ROM | disk | FTP | other *** search
- 1 REM model of morel mdm-75 to mdt 27 crossover
- 2 REM Copyright 1986, Arnold B. Krueger, Grosse Pointe Woods, MI. 48236
- 100 REM this model includes a 2nd order lp eq section before
- 110 REM the electrical crossover
- 120 DEF FNPHLP1(W,WC,D) = -ATN(W/WC)
- 130 DEF FNPHHP1(W,WC,D) = ATN(WC/W)
- 140 DEF FNPHLP2(W,WC,D) = -ATN( D*W /(WC*(1.000001-(W/WC)^2 ) ) ) + PI*(W>WC)
- 150 DEF FNPHHP2(W,WC,D) = ATN( D*WC/(W *(1.000001-(WC/W)^2 ) ) ) - PI*(W<WC)
- 160 DEF FNAMLP1(W,WC,D) = 1 / SQR(1!+(W/WC)^2)
- 170 DEF FNAMHP1(W,WC,D) = 1 / SQR(1!+(WC/W)^2)
- 180 DEF FNAMLP2(W,WC,D) = 1 / SQR(1+(W/WC)^4+(D*D-2!)*(W/WC)^2)
- 190 DEF FNAMHP2(W,WC,D) = 1 / SQR(1+(WC/W)^4+(D*D-2.000001)*(WC/W)^2)
- 200 DEF FNDBV(AMP) = 20!*LOG(AMP)/LOG(10!)
- 210 DEF FNPHD(RAD) = 180!*RAD/PI
- 220 DEF FNSUMA(AA,AB,PA,PB) = SQR((AA*SIN(PA)+AB*SIN(PB))^2 + (AA*COS(PA)+AB*COS(PB))^2 )
- 230 DEF FNSUMPW(AA,AB,PA,PB) = SQR((AA*AA*SIN(PA)+AB*AB*SIN(PB))^2 + (AA*AA*COS(PA)+AB*AB*COS(PB))^2 )
- 240 DEF FNSUMPN(AA,AB,PA,PB) = AA*SIN(PA)+AB*SIN(PB)
- 250 DEF FNSUMPD(AA,AB,PA,PB) = AA*COS(PA)+AB*COS(PB)
- 260 DEF FNDIRF(AA,AB,PA,PB) = ABS((SIN((PA-PB))*(((AA >= AB)*AB/AA)+((AB > AA)*AA/AB) )))
- 270 PI = ATN(SQR(3!))*3
- 280 DIM FREQT(10)
- 290 FREQT(1)=20:FREQT(2)=25:FREQT(3)=32:FREQT(4)=40:FREQT(5)=50:FREQT(6)=64:
- 300 FREQT(7)=80:FREQT(8)=100:FREQT(9)=128:FREQT(10)=160
- 310 REM Crossover characteristics
- 320 FCL = 1800.1 :QCL = .5
- 330 FCL2 = 1800.1 :QCL2 = .5
- 340 FCH = 1800.1 :QCH = .5
- 350 REM high end equalizer characteristics
- 360 FEH = 20000! :QEH = 1.5
- 370 PRINT "Enter QCL1 at F= ";FCL;", or hit enter for ";QCL
- 380 INPUT ANS
- 390 IF ANS > 0 THEN QCL = ANS
- 400 PRINT "Enter QCL2 at F= ";FCL2;", or hit enter for ";QCL2
- 410 INPUT ANS
- 420 IF ANS > 0 THEN QCL2 = ANS
- 430 PRINT "Enter QCH at F= ";FCH;", or hit enter for ";QCH
- 440 INPUT ANS
- 450 IF ANS > 0 THEN QCH = ANS
- 460 PRINT "Enter QEH at F= ";FEH;", or hit enter for ";QEH
- 470 INPUT ANS
- 480 IF ANS > 0 THEN QEH = ANS
- 490 REM driver characteristics
- 500 FLB = .001 :QLB = .7 :REM low driver low roll-off 1
- 510 FLL = 600.01 :QLL = 1.1 :REM low driver low roll-off 2
- 520 FLH = 6000.01 :QLH = .6 :REM low driver high roll-off
- 530 FHL = 1300.01 :QHL = 1.5 :REM high driver low roll-off
- 540 FHH = 14000.01 :QHH = .7 :REM high driver high roll-off
- 550 REM Upper driver is dist inches in front of lower driver
- 560 DIST = 0!
- 570 REM End of variables
- 580 WLB = FLB*2*PI
- 590 DLB = 1!/QLB
- 600 WCH = FCH*2*PI
- 610 WCL2 = FCL2*2*PI
- 620 DCL2 = 1!/QCL2
- 630 WCL = FCL*2*PI
- 640 DCL = 1!/QCL
- 650 DCH = 1!/QCH
- 660 WLL = FLL*2*PI
- 670 WLH = FLH*2*PI
- 680 DLL = 1!/QLL
- 690 DLH = 1!/QLH
- 700 WHL = FHL*2!*PI
- 710 WHH = FHH*2!*PI
- 720 WEH = FEH*2!*PI
- 730 DHL = 1!/QHL
- 740 DHH = 1!/QHH
- 750 DEH = 1!/QEH
- 760 GOSUB 1160
- 770 FOR ID = 3 TO 4 :REM decade
- 780 FOR IO = 1 TO 10
- 790 IF ID = 5 AND IO > 1 THEN GOTO 1140
- 800 F = FREQT(IO)*10^(ID-2)
- 810 W = F*2!*PI
- 820 REM basic equations for response
- 830 LPPHAS = FNPHLP2(W,WCL,DCL) + FNPHLP2(W,WCL2,DCL2) + FNPHLP2(W,WLH,DLH) + FNPHHP2(W,WLL,DLL) + FNPHHP2(W,WLB,DLB)
- 840 LPGAIN = FNAMLP2(W,WCL,DCL) * FNAMLP2(W,WCL2,DCL2) * FNAMLP2(W,WLH,DLH) * FNAMHP2(W,WLL,DLL) * FNAMHP2(W,WLB,DLB)
- 850 HPPHAS = FNPHHP2(W,WCH,DCH) + FNPHHP2(W,WHL,DHL) + FNPHLP2(W,WHH,DHH) + DIST * W /(12!*1100)
- 860 HPGAIN = FNAMHP2(W,WCH,DCH) * FNAMHP2(W,WHL,DHL) * FNAMLP2(W,WHH,DHH)
- 870 REM Equalizer affects both halves
- 880 LPPHAS = LPPHAS + FNPHLP2(W,WEH,DEH)
- 890 HPPHAS = HPPHAS + FNPHLP2(W,WEH,DEH)
- 900 LPGAIN = LPGAIN * FNAMLP2(W,WEH,DEH)
- 910 HPGAIN = HPGAIN * FNAMLP2(W,WEH,DEH)
- 920 REM Calculate summation characteristics
- 930 DIRC = FNDIRF(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
- 940 AMPR = FNSUMA(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
- 950 POWR = FNSUMPW(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
- 960 PHASN = FNSUMPN(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
- 970 PHASD = FNSUMPD(HPGAIN,LPGAIN,HPPHAS,LPPHAS)
- 980 PHAS = ATN(PHASN/PHASD)
- 990 IF (PHASN<0! AND PHASD<0!)THEN PHAS = PHAS-PI
- 1000 IF (PHASN>0! AND PHASD<0!)THEN PHAS = PI+PHAS
- 1010 HPAMP = HPAMP * FNAMLP2(W,WEH,DEH)
- 1020 HPPHAS = HPPHAS + FNPHLP2(W,WEH,DEH)
- 1030 LPAMP = FNDBV(LPGAIN)
- 1040 HPAMP = FNDBV(HPGAIN)
- 1050 AMPRD = FNDBV(AMPR)
- 1060 POWRD = FNDBV(POWR)*.5
- 1070 HPPHAS = FNPHD(HPPHAS)
- 1080 PHASD = FNPHD(PHAS)
- 1090 LPPHAS = FNPHD(LPPHAS)
- 1100 PRINT USING"###### ####.## ####.## ####.## ####.## #.## ###.## ###.## ###.## ####.##";F;LPPHAS;LPAMP;HPPHAS;HPAMP;DIRC;HPPHAS-LPPHAS,AMPRD,POWRD,PHASD
- 1110 NEXT IO
- 1120 NEXT ID
- 1130 PRINT" "
- 1140 REM LIST 200-250
- 1150 STOP
- 1160 PRINT " "
- 1170 PRINT "Lower Crossover (1) at:";FCL;" Q:";QCL
- 1180 PRINT "Lower Crossover (2) at:";FCL2;" Q:";QCL2
- 1190 PRINT "Upper Crossover at:";FCH;" Q:";QCH
- 1200 PRINT " Lower driver (1) lower Fc:";FLL;" Q:";QLL
- 1210 PRINT " Lower driver (2) lower Fc:";FLB;" Q:";QLB
- 1220 PRINT " Lower driver upper Fc:";FLH;" Q:";QLH
- 1230 PRINT " Upper driver lower Fc:";FHL;" Q:";QHL
- 1240 PRINT " Upper driver upper Fc:";FHH;" Q:";QHH
- 1250 PRINT "Upper driver is:";DIST;" Inches in front of lower driver"
- 1260 PRINT " "
- 1270 PRINT " Lower driver Upper driver
- 1280 PRINT " ---------------- --------------
- 1290 PRINT " Freq phase amp,dB phase amp,dB Dirf Ph Diff Vsum Psum Phsum"
- 1300 PRINT "------ ------- -------- ------- ------- ---- ------- ------ ----- -----"
- 1310 RETURN
-